Skip to content

[CHORE] Expo 기반 전환 및 초기 화면 구현 - #1

Merged
sumin0423 merged 1 commit into
developfrom
chore/expo-migration
Oct 27, 2026
Merged

sumin0423 merged 1 commit into
developfrom
chore/expo-migration

Conversation

@sumin0423

Copy link
Copy Markdown
Contributor

📖 개요

React Native로 개발하고 웹으로도 배포할 수 있도록 기존 Vite 기반 실행 환경을 Expo SDK 58 + Expo Router로 전환했습니다. 전달받은 디자인을 기준으로 시작·약관 동의·프로필·설정 화면과 기본 상호작용을 구현했습니다.

✅ 변경 사항

  • Vite·React Router 설정을 제거하고 Expo·Metro 기반 실행 및 웹 배포 구성으로 전환
  • src/app에 시작·약관·프로필·설정 경로 구성, 화면 간 공유 상태 Provider 추가
  • 필수 약관 동의, 이름 입력 검증, 과목 복수 선택, 프로필 수정 및 데모 로그아웃·삭제 확인 구현
  • 공통 SVG 에셋을 Expo Image로 로드하고 Safe Area·iOS 키보드 회피 처리 추가
  • TypeScript·포맷 설정, 환경 변수 예시, CI 및 실행 문서 갱신

🧪 검증

  • npm run typecheck, npm run lint, npm run format:check 통과
  • npm run build 웹 배포 번들 생성 성공
  • iOS·Android JavaScript 및 에셋 번들 생성 성공
  • Expo Doctor 20개 항목 통과

추가 검증

  • 웹 브라우저에서 약관 미동의·이름 미입력 시 진행 차단 확인
  • 약관 동의 → 프로필 완료 → 설정 → 프로필 수정 → 로그아웃 취소·확인 흐름 확인
  • 320px 화면에서 가로 넘침 없음 및 로고·아이콘 로드 확인
  • 실제 모바일 기기·시뮬레이터 실행은 미검증

🔗 관련 Issue

연결된 이슈 없음

📂 영향 범위

  • 개발 서버: npm start, 웹 실행: npm run web
  • 웹 빌드: npm run build, 산출물: dist
  • API 환경 변수 예시: EXPO_PUBLIC_API_URL
  • 기존 Vite 진입점과 설정 제거. 프로젝트 공통 개발 환경이 변경됩니다.

🙋 리뷰 요청 사항

  • Expo 기반으로 웹·모바일 공통 개발을 진행하는 방향
  • 화면별 라우팅과 공유 상태 구성
  • 디자인 일치 여부 및 가입 흐름 검토

⚠️ 주의 사항

  • 현재 가입 흐름은 UI 확인용 데모입니다. 소셜·이메일 인증, 비밀번호 재설정, 실제 회원 탈퇴 API는 연결하지 않았습니다.
  • 약관 원문은 제공 전으로 안내 창만 표시합니다. 실제 가입 동의로 사용할 수 없습니다.
  • 입력 상태는 메모리에서만 유지되며 새로고침·앱 재시작 시 초기화됩니다.
  • 웹 호스팅에서는 모든 경로를 index.html로 연결하는 SPA fallback이 필요합니다.
  • Expo CLI의 Zod 3 전이 의존성에 보안 권고가 남아 있으며, 호환성을 깨는 강제 업데이트는 적용하지 않았습니다. 상세 내용은 README에 기록했습니다.
  • 앱스토어 배포용 식별자·서명·EAS Build는 아직 구성하지 않았습니다.

@sumin0423 sumin0423 self-assigned this Oct 27, 2026
@sumin0423
sumin0423 marked this pull request as ready for review October 27, 2026 06:45
@sumin0423
sumin0423 merged commit 6391f4d into develop Oct 27, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant